我正在创建一个3x3网格的子图与共享x和y轴在jupyter笔记本。
fig, ((ax1,ax2,ax3), (ax4,ax5,ax6), (ax7,ax8,ax9)) = plt.subplots(3,3, sharex=True, sharey=True)
x = np.linspace(0, 2*np.pi, 400)
y = np.sin(x**2)
ax5.plot(x,y,'-')enter code here
现在,当我试图通过下面的代码使每个子图的x和y标签可见时,什么都不会发生。
for ax in plt.gcf().get_axes():
for
在matplotlib中制作一系列具有相同X和Y尺度的子图的最佳方法是什么,但是这些子图是基于具有最极端数据的子图的最小/最大范围来计算的?例如,如果您有一系列要绘制的直方图:
# my_data is a list of lists
for n, data in enumerate(my_data):
# data is to be histogram plotted
subplot(numplots, 1, n+1)
# make histogram
hist(data, bins=10)
每个直方图在X轴和Y轴上将有不同的范围/刻度。我希望所有这些都是相同的,并根据绘制的
我正在尝试共享两个子图的轴,但我需要在图形创建后共享x轴。所以,举个例子,我创建了这个图:
import numpy as np
import matplotlib.pyplot as plt
t= np.arange(1000)/100.
x = np.sin(2*np.pi*10*t)
y = np.cos(2*np.pi*10*t)
fig=plt.figure()
ax1 = plt.subplot(211)
plt.plot(t,x)
ax2 = plt.subplot(212)
plt.plot(t,y)
# some code to share both x axis
p
我有两个堆叠的子图,它们共享x轴,对于这两个子图,刻度的可见性都设置为false,因为我不想看到刻度标签。在绘制了这两个子图之后,我想在x-asis上添加一些额外的标记,仅用于第二个子图,但它们不必成为主要标记。我的意思是,这样做:
#xticks = list of x points
#xlabs = list of labels
#secondplot.set_xticks(xticks)
#secondplot.set_xticklabels(xlabs)
将根据这些新刻度更改第一个子绘图网格,就像它们成为新的主刻度一样。
我有一个应用程序,其中我有一个带有9个线形图的子图(3x3),我想让用户选择其中一个图表,并打开一个小的wx Python应用程序,以允许在指定的子图上编辑和缩放。
是否可以从选定的子图中获取所有信息,即轴标签、轴格式、线、刻度大小、刻度标签等,并将其快速绘制在wx应用程序的画布上?
我目前的解决方案太长太笨重,因为我只是重做用户选择的绘图。我在想类似的事情,但它并不是很好。
#ax is a dictionary containing each instance of the axis sub-plot
selected_ax = ax[6]
wx_fig = plt.figure(**kw