gpt4 book ai didi

python - 列表中的颜色条

转载 作者:太空宇宙 更新时间:2023-11-03 12:01:30 26 4
gpt4 key购买 nike

我有 500 个文件,在每个循环中我打开其中一个并将列存储在列表中,然后生成 3 个图表。在每个循环中,我叠加各自的图形。该代码有效,但我无法放置依赖于“t”列表的错误栏(三个图形应具有相同的颜色栏)。如果它是单个图形,我可以使用:plt.colorbar (),如我附加的图中所示,但我想为 3 个图形生成它。

import matplotlib.cm as cm
import matplotlib.pyplot as plt
import numpy as np

f1 = plt.figure()
f2 = plt.figure()
f3 = plt.figure()
ax1 = f1.add_subplot(111)
ax2 = f2.add_subplot(111)
ax3 = f3.add_subplot(111)

t = np.arange(0, 45000*10**5, 90*10**5)

for j in range(1, 501):

x1, x2, x3, x4 = np.loadtxt('file' + str(j), usecols = (1,2,3,4), unpack = True)

ax1.scatter(x1, x2, c=t, cmap=cm.spring)
ax2.scatter(x1, x3, c=t, cmap=cm.spring)
ax3.scatter(x1, x4, c=t, cmap=cm.spring)

f1.savefig('plot1', format = 'pdf', dpi = 1200, bbox_inches = 'tight')
f2.savefig('plot2', format = 'pdf', dpi = 1200, bbox_inches = 'tight')
f3.savefig('plot3', format = 'pdf', dpi = 1200, bbox_inches = 'tight')

我看过一些放置颜色条的示例(例如 http://matplotlib.org/1.3.1/examples/pylab_examples/colorbar_tick_labelling_demo.html ),但在我看来它不适用于我的情况,正如您在我附上的图中看到的 enter image description [enter image description here] 1在这里,因为我的图形中并非所有空间都已满,并且由于数据的随机性和循环,点可能会重叠(我使用透明度)。

总而言之,我想添加一个基于“t”列表的垂直颜色条。非常感谢您的帮助。

最佳答案

这是根据数组 t 中的值向每个绘图添加垂直颜色条的方式:

import matplotlib.cm as cm
import matplotlib.pyplot as plt
import numpy as np; np.random.seed(0)
import cufflinks as cf

t = np.arange(0, 45000*10**5, 90*10**5)

for j in range(1, 2): # Loop just once for testing (instead of 501 times)

# Load files
# x1, x2, x3, x4 = np.loadtxt('file' + str(j), usecols = (1,2,3,4), unpack = True)

# Generate sample data (instead of loading files)
data = cf.datagen.lines(4, 500)
x1 = data.iloc[:,0]
x2 = data.iloc[:,1]
x3 = data.iloc[:,2]
x4 = data.iloc[:,3]

f1, ax1 = plt.subplots()
sc1 = ax1.scatter(x1, x2, c=t, cmap=cm.spring)
plt.colorbar(sc1)

f2, ax2 = plt.subplots()
sc2 = ax2.scatter(x1, x3, c=t, cmap=cm.spring)
plt.colorbar(sc2)

f3, ax3 = plt.subplots()
sc3 = ax3.scatter(x1, x4, c=t, cmap=cm.spring)
plt.colorbar(sc3)

f1.savefig('plot1.pdf', dpi = 1200, bbox_inches = 'tight')
f2.savefig('plot2.pdf', dpi = 1200, bbox_inches = 'tight')
f3.savefig('plot3.pdf', dpi = 1200, bbox_inches = 'tight')

Figure 1 Figure 2 Figure 3

关于python - 列表中的颜色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47232563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com