Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.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
Python matplotlib聚合像素内系列的多个点_Python_Matplotlib - Fatal编程技术网

Python matplotlib聚合像素内系列的多个点

Python matplotlib聚合像素内系列的多个点,python,matplotlib,Python,Matplotlib,我有一个索引为datetime的系列ts,其分辨率为1s;这个时间序列跨越23小时。我试图用一个配置参数chart_sec(一个图表中显示的秒数)在多个图表上绘制此图,固定dpi=20;分辨率可能不足以绘制图表中ts的每个点 import pyplot as plt ax = plt.subplot() dates = [dt.to_datetime() for dt in ts.index] ax.plot_date(dates, ts, fmt='k-', color='grey') plt

我有一个索引为datetime的系列ts,其分辨率为1s;这个时间序列跨越23小时。我试图用一个配置参数chart_sec(一个图表中显示的秒数)在多个图表上绘制此图,固定dpi=20;分辨率可能不足以绘制图表中ts的每个点

import pyplot as plt
ax = plt.subplot()
dates = [dt.to_datetime() for dt in ts.index]
ax.plot_date(dates, ts, fmt='k-', color='grey')
plt.savefig(fname, dpi=20)
问题1,我不知道使用上述代码绘制的是哪个值(它是像素中第一个点的值还是最后一个点的值?)
问题2,如果我想对一个像素内的点的值求和,怎么做

如果您需要区分这些点,一个想法是以大尺寸和高dpi保存图形。我从您的示例中猜出了一些数据

import pandas as pd
import matplotlib.pyplot as plt

ts = pd.DataFrame(50*pd.np.random.rand(7200)+pd.np.array(range(7200)),
                  index=pd.DatetimeIndex(freq='s',start='01-01-2016',periods=7200))

plt.figure(figsize=(35,35))
# will be a <matplotlib.figure.Figure object>
dates = [dt.to_datetime() for dt in ts.index]
plt.plot_date(dates, ts, fmt='k-', ms=0, color='grey')
# will be a [<matplotlib.lines.Line2D object>]
plt.savefig('hires.png', dpi=600)
将熊猫作为pd导入
将matplotlib.pyplot作为plt导入
ts=pd.DataFrame(50*pd.np.rand.rand(7200)+pd.np.array(range(7200)),
索引=pd.DatetimeIndex(频率=s',开始时间=01-01-2016',期间=7200))
plt.图(figsize=(35,35))
#将是一个
日期=[dt.to_datetime()表示ts.index中的dt]
plt.plot_date(日期,ts,fmt='k-',ms=0,颜色='grey')
#将是[]
plt.savefig('hires.png',dpi=600)
这将生成一个接近3MB的png文件,当放大查看时,它看起来像一条有点嘈杂的直线,但当您放大到100%时,您可以看到各个点,如下所示:

仍然不能很好地区分,但您可以使用图片大小与dpi来满足您的个人需求


注意:如果需要在普通matplotlib地物窗口中查看(而不是保存),可以放大。您还可以保存放大视图,这样可以准确地保存屏幕上显示的内容。

如果需要区分这些点,可以将图形保存为大尺寸和高dpi。我从您的示例中猜出了一些数据

import pandas as pd
import matplotlib.pyplot as plt

ts = pd.DataFrame(50*pd.np.random.rand(7200)+pd.np.array(range(7200)),
                  index=pd.DatetimeIndex(freq='s',start='01-01-2016',periods=7200))

plt.figure(figsize=(35,35))
# will be a <matplotlib.figure.Figure object>
dates = [dt.to_datetime() for dt in ts.index]
plt.plot_date(dates, ts, fmt='k-', ms=0, color='grey')
# will be a [<matplotlib.lines.Line2D object>]
plt.savefig('hires.png', dpi=600)
将熊猫作为pd导入
将matplotlib.pyplot作为plt导入
ts=pd.DataFrame(50*pd.np.rand.rand(7200)+pd.np.array(range(7200)),
索引=pd.DatetimeIndex(频率=s',开始时间=01-01-2016',期间=7200))
plt.图(figsize=(35,35))
#将是一个
日期=[dt.to_datetime()表示ts.index中的dt]
plt.plot_date(日期,ts,fmt='k-',ms=0,颜色='grey')
#将是[]
plt.savefig('hires.png',dpi=600)
这将生成一个接近3MB的png文件,当放大查看时,它看起来像一条有点嘈杂的直线,但当您放大到100%时,您可以看到各个点,如下所示:

仍然不能很好地区分,但您可以使用图片大小与dpi来满足您的个人需求


注意:如果需要在普通matplotlib地物窗口中查看(而不是保存),可以放大。您还可以保存放大视图,这样可以准确地保存您在屏幕上看到的内容。

您好,我不太清楚您所说的“一个像素中有多个点”是什么意思。你应该得到一张7200点的图表——根据缩放的不同,你可能无法清楚地解决这个问题。您是否有可以发布的示例
ts
和示例输出?如果您试图保存一个图形并能够区分每个点,一个技巧是使用较大的图形大小(例如
plt.figure(figsize=(70,70))
)并保存为向量类型(pdf)或高dpi。如果您在标准matplotlib窗口中查看,可以放大。@JRichardSnape感谢您的回复。我编辑了这个问题;savefig具有固定的dpi,可能不足以绘制图表中ts的每个点。希望这能澄清我的问题。回答没问题。当您说“savefig有固定的dpi”时,您的意思是在应用程序中不能将dpi从20更改为20吗?matplotlib库中没有任何东西可以阻止您使用非常高(我认为是任意高)的dpi。你能不能换一下尺寸?如果你不能改变figsize或dpi,我确实看到了问题。我认为dpi最初会决定fig的大小;不太熟悉matplotlib。数字大小是固定的,但我可以更改dpi。我怎样才能正确设置显示图表的dpi?嗨,我不太清楚“一个像素中有多个点”是什么意思。你应该得到一张7200点的图表——根据缩放的不同,你可能无法清楚地解决这个问题。您是否有可以发布的示例
ts
和示例输出?如果您试图保存一个图形并能够区分每个点,一个技巧是使用较大的图形大小(例如
plt.figure(figsize=(70,70))
)并保存为向量类型(pdf)或高dpi。如果您在标准matplotlib窗口中查看,可以放大。@JRichardSnape感谢您的回复。我编辑了这个问题;savefig具有固定的dpi,可能不足以绘制图表中ts的每个点。希望这能澄清我的问题。回答没问题。当您说“savefig有固定的dpi”时,您的意思是在应用程序中不能将dpi从20更改为20吗?matplotlib库中没有任何东西可以阻止您使用非常高(我认为是任意高)的dpi。你能不能换一下尺寸?如果你不能改变figsize或dpi,我确实看到了问题。我认为dpi最初会决定fig的大小;不太熟悉matplotlib。数字大小是固定的,但我可以更改dpi。如何正确设置显示图表的dpi?