我正在创建一个包含3个子图的图形,并且想知道是否有任何方法可以移除它们周围的框架,同时保持轴的位置?
所以在添加了figure三个垂直子图的地方add_subplot,如何选择让我们说中间的?
现在我做这个列表理解:
[r[0] for r in sorted([[ax, ax.get_geometry()[2]] for ax in self.figure.get_axes()], key=itemgetter(1))]
在那里我可以简单地选择我想要的索引,与之对应axes.有更简单的方法吗?
在Matplotlib中创建一个子图数组时,有没有办法完全摆脱刻度标签?我目前需要根据绘图对应的较大数据集的行和列来指定每个绘图.我试图使用ax.set_xticks([])和类似的y轴命令,但无济于事.
我认识到,想要制作没有轴数据的情节可能是一个不寻常的要求,但这就是我所需要的.我需要它自动应用于数组中的所有子图.
我有两个图表,其中两个具有相同的x轴,但具有不同的y轴标度.
具有常规轴的图是具有描绘衰减的趋势线的数据,而y半对数缩放描绘了拟合的准确性.
fig1 = plt.figure(figsize=(15,6))
ax1 = fig1.add_subplot(111)
# Plot of the decay model
ax1.plot(FreqTime1,DecayCount1, '.', color='mediumaquamarine')
# Plot of the optimized fit
ax1.plot(x1, y1M, '-k', label='Fitting Function: $f(t) = %.3f e^{%.3f\t} \
%+.3f$' % (aR1,kR1,bR1))
ax1.set_xlabel('Time (sec)')
ax1.set_ylabel('Count')
ax1.set_title('Run 1 of Cesium-137 Decay')
# Allows me to change scales
# ax1.set_yscale('log')
ax1.legend(bbox_to_anchor=(1.0, 1.0), prop={'size':15}, fancybox=True, shadow=True)
Run Code Online (Sandbox Code Playgroud)
现在,我正试着像这个链接http://matplotlib.org/examples/pylab_examples/subplots_demo.html提供的示例一样努力实现两者.
特别是这一个
在查看示例的代码时,我对如何植入3件事情感到有点困惑:
1)以不同方式缩放轴
2)保持指数衰减图的图形大小相同,但是线图具有较小的y尺寸和相同的x尺寸.
例如:
3)保持函数的标签仅出现在衰减图中.
非常感激任何的帮助.
另一个有趣的ggplot2挑战!我正在尝试创建一个ggsubplot调用,在世界地图上提供饼图.艰难的事情似乎是ggplot2中的饼图是带有极坐标的堆积条形图,并且coord_polar的添加不仅影响子图geom而且影响整个地图本身.有没有人知道如何仅将某个坐标方案应用于子图调用的一部分?这是我到目前为止:
library(ggplot2)
library(maps)
library(mapproj)
#install.packages("devtools")
library(devtools)
# install ggsubplot from github repo, not currently on CRAN
install_github(username="garrettgman", repo="ggsubplot")
world = map_data("world")
loc_pie = structure(list(Region = structure(c(3L, 5L, 7L, 8L, 9L, 10L,
11L, 12L, 13L, 15L, 16L, 2L, 14L, 2L, 4L, 5L, 6L, 7L, 9L, 10L
), .Label = c("", "ANT/SO", "ARC", "EPR/GAL", "GOM/CAR", "IND",
"MAR", "MED", "N-ATL", "NE-ATL", "NE-PAC", "NW-ATL", "NW-PAC",
"SE-ATL", "SE-PAC", "SW-ATL", "SW-PAC"), class = "factor"), Group3 = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, …Run Code Online (Sandbox Code Playgroud) 我想知道如何使用plot_ly为子图提供不同的字幕.请提示任何提示.在这种情况下我得到了一个BB冠军.谢谢.
p <- subplot(
plot_ly(economics, x = date, y = uempmed)%>%layout(showlegend = FALSE, title="AA"),
plot_ly(economics, x = date, y = unemploy)%>%layout(showlegend = FALSE, title="BB"),
margin = 0.05
)
Run Code Online (Sandbox Code Playgroud) 我想用 matplotlib 绘制两个图形的子图,并在两者中添加一条水平线。这可能是基本的,但我不知道如何指定应在第一个图中绘制其中一条线,它们最终都在最后一个图中。例如
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
s1= pd.Series(np.random.rand(10))
s2= pd.Series(np.random.rand(10))
fig, axes = plt.subplots(nrows=2,ncols=1)
f1= s1.plot(ax=axes[0])
l1=plt.axhline(0.5,color='black',ls='--')
l1.set_label('l1')
f2= s1.plot(ax=axes[1])
l2=plt.axhline(0.7,color='red',ls='--')
l2.set_label('l2')
plt.legend()
Run Code Online (Sandbox Code Playgroud)
axhline 没有“ax”作为参数,就像 pandas plot 函数那样。所以这会起作用:
l1=plt.axhline(0.5,color='black',ls='--',ax=axes[0])
Run Code Online (Sandbox Code Playgroud)
我阅读了matplotlib 中的示例,并尝试了另一个不起作用的选项(可能有充分的理由)
axes[0].plt.axhline(0.5,color='black',ls='--')
Run Code Online (Sandbox Code Playgroud)
我应该如何在子图中画线?最好有传说 谢谢!
我明白,如果我想设置所有的子情节标题,那么我可以在声明图形时做到这一点。
import pandas as pd
import plotly.graph_objs as go
from plotly.subplots import make_subplots
fig = make_subplots(
###
subplot_titles=['Plot 1', 'Plot 2', 'Plot 3', 'Plot 4', etc.]
)
Run Code Online (Sandbox Code Playgroud)
但是,我在一个循环中创建了每个子图,我认为在该过程中设置每个子图的标题是最简单的。就我而言,我根据日期创建了一个 groupby 对象,然后遍历每个组(日期)数据框。每个数据框用于创建子图,我希望标题是日期。我知道我可以在循环之前弄清楚这一点并将 subplot_titles 设置为正常,但它似乎是循环中的单行。如果重要的话,我添加的痕迹是 choropleths。我不打算包含工作数据集,因为我的代码工作正常 - 我只想知道我需要添加哪行代码。
#Create groupby object, splitting data frame into separate data frames based on 'State'
death_counts_gbo = death_counts_by_week.groupby('End Week')
#Prepare subplots for choropleths
rows = 4
cols = 7
fig = make_subplots(
rows=rows, cols=cols,
specs = [[{'type': 'choropleth'} for c in np.arange(cols)] for r in …Run Code Online (Sandbox Code Playgroud) 我想从数据4列DataFrame生成一个子图,分为2行和2列
df =pd.DataFrame(np.random.randn(6,4),index=pd.date_range('1/1/2000',periods=6, freq='1h'))
Run Code Online (Sandbox Code Playgroud)
但是下面将给出4行和1列图
df.plot(use_index=False, title=f, subplots=True, sharey=True, figsize=(8, 6))
Run Code Online (Sandbox Code Playgroud)
谢谢.
add_subplot()和之间有什么区别subplot()?如果不存在,它们似乎都会添加一个子图.我查看了文档,但我无法弄清楚差异.它只是为了使未来的代码更灵活吗?
例如:
fig = plt.figure()
ax = fig.add_subplot(111)
Run Code Online (Sandbox Code Playgroud)
VS
plt.figure(1)
plt.subplot(111)
Run Code Online (Sandbox Code Playgroud)
来自matplotlib教程.
subplot ×10
matplotlib ×6
python ×4
axes ×2
pandas ×2
plotly ×2
r ×2
axis-labels ×1
choropleth ×1
dataframe ×1
frame ×1
geometry ×1
ggplot2 ×1
legend ×1
map ×1
plot ×1
python-3.x ×1
subtitle ×1