在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轴上将有不同的范围/刻度。我希望所有这些都是相同的,并根据绘制的
如何确定子图(AxesSubplot)是否为空?我想停用空子图的空轴,并删除完全空行。
例如,在此图中,仅填充了两个子图,其余的子图为空。
import matplotlib.pyplot as plt
# create figure wit 3 rows and 7 cols; don't squeeze is it one list
fig, axes = plt.subplots(3, 7, squeeze=False)
x = [1,2]
y = [3,4]
# plot stuff only in two SubAxes; other axes are empty
axe
我想要自动缩放共享x轴图形的子图的垂直高度,基于他们的数据跨度!我想比较显示数据的相对强度。如果我在子图中使用sharey=True kwarg,数据的显示方式是相对强度可以识别的:
import matplotlib.pyplot as plt
from matplotlib import gridspec
import numpy as np
SIZE = (12, 8) #desired overall figure size
# Simple data to display in various forms
x = np.linsp
我最近发现了函数子图,这似乎是一种比子图更优雅的设置多个子图的方法。但是,我似乎无法更改每个子图的轴的属性。
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as npx = np.linspace(0, 20, 100)
fig, axes = plt.subplots(nrows=2)
for i in range(10):
axes[0].plot(x, i * (x - 10)**2)
plt.ylabel('plot 1')
for i in range(
我正在尝试共享两个子图的轴,但我需要在图形创建后共享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
我使用的是使用matplotlib生成图形的库中的方法。
我收到一组轴:
[<matplotlib.axes._axes.Axes at 0x117a32a90>,
<matplotlib.axes._axes.Axes at 0x117bb1d68>,
<matplotlib.axes._axes.Axes at 0x10bae8390>,
<matplotlib.axes._axes.Axes at 0x10bb0add8>,
<matplotlib.axes._axes.Axes at 0x10c153898>,
&l
我有以下图:
我需要在“总体”x轴上放置一些文本--这样,该描述就可以清楚地应用于该列中三个图形中每个图形的x轴。
如何访问包含子图的表的x轴的标签?(或此处适用的任何对象)。
我使用以下代码创建了图形:
import matplotlib.pyplot as plt
f,(ax1,ax2,ax3) = plt.subplots(1,3, sharey=True)
#plotted my stuff
....
#now: how to add general label to entire subplot
我有一个有趣的问题,我试图使用多个matplotlib饼图作为散点图。我已经阅读了有关 matplotlib教程的,并且能够让它们正常工作。但是,我发现使用内置的饼图函数并在同一轴上绘制多个饼图也可以达到相同的结果。
在使用这种替代方法时,我发现在绘制饼图之后,轴丢失了它们的标签,并且每当您平移原始数据时,原始数据仍然包含在原始数据的边界内,但饼图仅包含在图形画布内。
下面的代码重复了我遇到的问题。
import matplotlib.pyplot as plt
import pandas as pd
import random
def rand(): #simulate some rand
第一个问题:使用plotly.py的知道如何使用make_subplots设置轴标签和轴限值吗
使用matplotlib,我会使用ax.set_xlabel()和ax.set_xlim(),但是即使在阅读了和之后,我也无法找到如何巧妙地使用matplotlib。
下面是一个很小的例子,以防有帮助:
import numpy as np
import plotly.graph_objects as go
from plotly.subplots import make_subplots
xv = np.linspace(0, 1, 99)
yv = 1-np.exp(-xv)
fig = m
下面是关于matplotlib的条形图教程:
import numpy as np
import matplotlib.pyplot as plt
data = [[5., 25., 50., 20.],
[4., 23., 51., 17.],
[6., 22., 52., 19.]]
color_list = ['b', 'g', 'r']
gap = .8 / len(data)
for i, row in enumerate(data):
X = np.arange(len(row))
plt.bar(X + i *
我正在尝试使用pyplot创建一组具有共享x轴的子图。当图形很简单的时候,所有的x轴对齐都很好。但是,当我包含一个包含色条的子图时,这会压缩该子图的宽度以包括颜色条,从而导致子图不再共享x轴。
我搜索过这个网站,但没有成功。我尝试过几种不同的方法,但下面是最简单的例子。我在每个子图中绘制完全相同的数据,但是用一个色条绘制一个。您可以看到数据不再沿x轴对齐.
提前感谢您的帮助!
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as np
im
我使用autofmt_xdate以一种可读的方式绘制长x轴标签。问题是,当我想要组合不同的子图时,其他子图的x轴标签消失了,我不喜欢下图中最左边的子图(两行高)。有没有一种方法可以防止autofmt_xdate猝灭其他x轴标签?或者,有没有其他方法来旋转标签?正如你所看到的,我也尝试了xticks和"rotate“,但结果并不令人满意,因为标签是围绕其中心旋转的,这导致了混乱的标签。
生成以下图的脚本:
from matplotlib import pyplot as plt
from numpy import arange
import numpy
from matplotlib i