2024-10-01 13:42:24 发布
网友
我试图绘制一个数据帧的两列,一列有logyscale,另一列有常规列。我不确定语法是什么,文档也没有太大帮助。有谁能告诉我正确的语法是什么,以及如何学习matplotlib在python中的工作方式吗?在
你可以按照以下思路做些事情:
import numpy as np import pandas as pd import matplotlib.pyplot as plt arr_base = np.arange(2,11) arr_log = np.log(arr_base) my_df = pd.DataFrame(np.vstack((arr_base, arr_log)).T, columns=['a', 'b']) fig = plt.figure() sub_plot = fig.add_subplot(1, 1, 1) sub_plot.plot(arr_base) sub_plot.plot(arr_log) plt.savefig('myplot.svg')
学习matplotlib基础知识的一个很好的资源,特别是与pandas相关的内容,是Wes McKinney的书,“Python for Data Analysis”。它不仅在第8章中对matplotlib有了很好的介绍(你可以在228页和其他一些页面上找到与我的例子非常接近的东西),而且如果你打算大量使用pandas,它也是一个重要的参考资料也很好的介绍了纽比。在
matplotlib的homepage还有一些教程的链接。它们还维护一个page of example uses。两者都是可靠的资源。在
Pandas提供了一个在secondary y axis上绘图的选项。除此之外,您只需使用.set_scale('log')更改次轴的比例。在
.set_scale('log')
下面是一个例子:
import matplotlib.pylab as plt import pandas as pd df = pd.DataFrame({'x': [1,2,0,4], 'y': [1e1, 5e3, 3e2, 3e4]}) ax = df.plot(secondary_y='y') ax2 = ax.twinx() ax2.set_yscale('log') plt.show()
你可以按照以下思路做些事情:
学习matplotlib基础知识的一个很好的资源,特别是与pandas相关的内容,是Wes McKinney的书,“Python for Data Analysis”。它不仅在第8章中对matplotlib有了很好的介绍(你可以在228页和其他一些页面上找到与我的例子非常接近的东西),而且如果你打算大量使用pandas,它也是一个重要的参考资料也很好的介绍了纽比。在
matplotlib的homepage还有一些教程的链接。它们还维护一个page of example uses。两者都是可靠的资源。在
Pandas提供了一个在secondary y axis上绘图的选项。除此之外,您只需使用
.set_scale('log')
更改次轴的比例。在下面是一个例子:
相关问题 更多 >
编程相关推荐