Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matplotlib 用pcolor打印日期数据_Matplotlib - Fatal编程技术网

Matplotlib 用pcolor打印日期数据

Matplotlib 用pcolor打印日期数据,matplotlib,Matplotlib,我有这样的数据: dates = ['1874-05-02', '1874-05-03', '1874-05-04', '1874-05-05', '1874-05-06','1874-05-07'] data1 = ['-7.000', '7.000', '2.000', '11.600', '13.500', '-13.500'] data2 = ['0.000', '25.000', '0.000', '75.000', '12.000', '22.000'] 我需要

我有这样的数据:

dates = ['1874-05-02', '1874-05-03', '1874-05-04', 
         '1874-05-05', '1874-05-06','1874-05-07']
data1 = ['-7.000', '7.000', '2.000', '11.600', '13.500', '-13.500']
data2 = ['0.000', '25.000', '0.000', '75.000', '12.000', '22.000']
我需要画一个图表,其中日期在x轴上,数据1在y轴上。在图中绘制点需要数据2,并且它们都应具有与其值对应的不同颜色。那么如何使用pcolor或pcolormesh实现这一点呢

这是我从中找到的一个示例代码,我想知道我能从数据中得到类似的东西吗?这里有另一个链接来演示我应该做什么:。我能用pcolor得到这样的图表吗

import matplotlib.pyplot as plt
import numpy as np

dx, dy = 0.15, 0.05

y, x = np.mgrid[slice(-3, 3 + dy, dy),slice(-3, 3 + dx, dx)]
z = (1 - x / 2. + x ** 5 + y ** 3) * np.exp(-x ** 2 - y ** 2)
z = z[:-1, :-1]
z_min, z_max = -np.abs(z).max(), np.abs(z).max()



plt.subplot(2, 2, 1)
plt.pcolor(x, y, z, cmap='RdBu', vmin=z_min, vmax=z_max)
plt.title('pcolor')
plt.axis([x.min(), x.max(), y.min(), y.max()])
plt.colorbar()

plt.show()
A将给出你所描述的

import numpy as np
import pylab as plt
import datetime
dt = datetime.datetime

dates = [dt(1874,05,02), dt(1874,05,03), dt(1874,05,04), dt(1874,05,05), dt(1874,05,06),dt(1874,05,07)] 
data1 = [-7.000, 7.000, 2.000, 11.600, 13.500, -13.500]
data2 = [0.000, 25.000, 0.000, 75.000, 12.000, 22.000]

plt.scatter(dates, data1, c=data2, s=400)

plt.show()

评论中有一些关于需要2D数据的讨论,但我认为这是因为您所寻找的内容不够清晰。mpl示例链接和草图中的绘图类型本质上完全不同。浏览一下mpl,你会发现像你的草图(也与你的数据结构相匹配)这样的图使用散点图


关于如何处理日期和颜色,这里有很多选项,但这应该可以让您开始了。

我从matplotlib.org/找到了这个选项,它基本上正是我想要做的。我只是不知道把我的数据放在这段代码的什么地方才能得到类似的图表和我想要的数字。()导入matplotlib.pyplot作为plt导入numpy作为np-dx,dy=0.15,0.05y,x=np.mgrid[slice(-3,3+dy,dy),slice(-3,3+dx,dx)]z=(1-x/2.+x**5+y**3)*np exp(-x**2-y**2)z=z[:-1,:-1]z_min,z_max=-np.abs(z.max(),np.abs(z.max())plt.subplot(2,2,1)plt.pcolor(x,y,z,cmap='RdBu',vmin=z_min,vmax=z_max)plt.title('pcolor')plt.axis([x.min(),x.max(),y.min(),y.max())plt.colorbar()plt.show())我看不到您发布的示例绘图链接与您在问题中描述的内容之间有任何联系(没有日期,没有彩色点)。请检查链接,找到一个更合适的例子,或解释连接。请编辑您的帖子以包含代码?您只提供三个1D系列,用于
pcolor(mesh)
您需要一个用于x、y和z值的三个2D数组。即使如此,我也怀疑您是否要使用
pcolor
。谢谢!这确实帮助了我:)