天道酬勤,学无止境

subplot

如何在特定点绘制带有箭头的嵌套图的子图?(How can I plot subplots with nested plot arrowed at a specific point?)

问题 我在一篇论文中看到了这张图表,需要复制它。 如何在 Python 中绘制这样的图形? 注意: 我怀疑更大的子图可能是使用 seaborn 或 matplotlib 的子图绘制的较小的图指向较大图中曲线的特定部分。 回答1 一种策略可以使用mpl_toolkits.axes_grid1.inset_locator ,正如对这个问题的回答所建议的那样:如何将一个 pyplot 图形叠加在另一个上 我做了一个简单的例子: import matplotlib.pyplot as plt from mpl_toolkits.axes_grid1.inset_locator import inset_axes import math fig = plt.figure() ax = fig.add_subplot(1,1,1) x = [n/10 for n in range(0,101)] y = [n*n*(1-math.sin(n*10)/5) for n in x] # just create some kind of function ax.plot(x,y) # this is the main plot # This produces the line that points to the location. ax.annotate("", (x[50],y[50])

2022-01-16 18:10:41    分类:技术分享    python   matplotlib   seaborn   visualization   subplot

一个滑块控制 R 中的多个子图(One slider controlling multiple subplots in R)

问题 我想使用一个滑块来控制用 plotly 创建的多个子图。 我在 Python 中找到了如下两个答案: 情节。 使用带有多个绘图的滑块控件 https://community.plot.ly/t/using-one-slider-to-control-multiple-subplots-not-multiple-traces/13955/4 示例(第二个链接): import plotly.graph_objs as go from plotly.tools import make_subplots fig = make_subplots(1, 2) fig.add_scatter(y=[1, 3, 2], row=1, col=1, visible=True) fig.add_scatter(y=[3, 1, 1.5], row=1, col=1, visible='legendonly') fig.add_scatter(y=[2, 2, 1], row=1, col=1, visible='legendonly') fig.add_scatter(y=[1, 3, 2], row=1, col=2, visible=True) fig.add_scatter(y=[1.5, 2, 2.5], row=1, col=2, visible='legendonly') fig

2022-01-16 07:00:13    分类:技术分享    r   slider   plotly   subplot   r-plotly

Matplotlib 子图太窄,布局紧凑(Matplotlib Subplots Are Too Narrow With Tight Layout)

问题 我目前正在尝试使用 GridSpec 在 Matplotlib(Python 3.6、Matplotlib 2.0.0)中绘制许多子图。 这是最小的工作示例: import matplotlib.pyplot as plt from matplotlib.gridspec import * # Color vector for scatter plot points preds = np.random.randint(2, size=100000) # Setup the scatter plots fig = plt.figure(figsize=(8,8)) grid = GridSpec(9, 9) # Create the scatter plots for ii in np.arange(0, 9): for jj in np.arange(0, 9): if (ii > jj): ax = fig.add_subplot(grid[ii, jj]) x = np.random.rand(100000)*2000 y = np.random.rand(100000)*2000 ax.scatter(x, y, c=preds) 这是没有任何修改的结果: 当然,子图之间的间距不能令人满意,所以我做了我通常做的事情并使用了tight_layout() 。

2022-01-15 13:04:39    分类:技术分享    python   matplotlib   subplot

MATLAB颜色条刻度标签中的错误?(Error in MATLAB colorbar tick labeling?)

问题 我正在绘制 9 个子图,如下图所示,其中一个颜色条用于三个子图。 在这里,我想将颜色栏中的最大值显示为> value ,令人惊讶的是,当我手动将刻度标签编辑为h.TickLabels{end} = ['>' h.TickLabels{end}]; 颜色条开始重复该值。 当我删除h.TickLabels{end} = ['>' h.TickLabels{end}]; 彩条显示没问题。 当我将set(gcf, 'PaperUnits', 'inches', 'PaperPosition', [0 0 8 8])的图形大小更改为[0 0 5 5]颜色条标签再次更改。 如何解决此错误? 下面是我的工作示例和输出图像: data = [1 2 3; 5 7 3; 12 29 14; 1 7 3; 2 8 3; 5 4 1; 2 2 1; 2 3 1; 1 5 2]; for i=1:9 subplot(3, 3, i) plot(data(i,:)); if ismember(i, [1:3]) caxis([0 20]) if i==3 h = colorbar('Fontsize', 6, 'LineWidth', 0.15, 'TickDirection', 'out',... 'TickLength', 0.02); set(h, 'Position', [.935 .6867

2022-01-15 04:52:24    分类:技术分享    matlab   matlab-figure   subplot   colorbar

One slider controlling multiple subplots in R

I want to use one slider to control multiple subplots created with plotly. I found answers in Python like these two: Plot.ly. Using slider control with multiple plots https://community.plot.ly/t/using-one-slider-to-control-multiple-subplots-not-multiple-traces/13955/4 Example (second link): import plotly.graph_objs as go from plotly.tools import make_subplots fig = make_subplots(1, 2) fig.add_scatter(y=[1, 3, 2], row=1, col=1, visible=True) fig.add_scatter(y=[3, 1, 1.5], row=1, col=1, visible='legendonly') fig.add_scatter(y=[2, 2, 1], row=1, col=1, visible='legendonly') fig.add_scatter(y=[1, 3

2022-01-14 19:42:16    分类:问答    r   slider   plotly   subplot   r-plotly

Can you alter a subplot title location in plotly?

When adding a subplot_title to my subplots in plotly my title overlaps with my axes. Can I alter the location of the subplot title like matplotlib's ax.set_title('title', y=1.5)? Here is my plot, as you can see danceability overlaps: Here is my code so far: from plotly.subplots import make_subplots categories = ['key', 'acousticness', 'danceability', 'energy', 'loudness', 'speechiness', 'tempo','key'] fig = make_subplots(rows=1, cols=2, specs=[[{"type":"polar"}, {"type":"polar"}]], subplot_titles=('Clustering Into 8 Playlists', 'Clustering Into 11 Playlists')) fig.add_trace(go.Scatterpolar( r

2022-01-14 13:06:36    分类:问答    python   plotly   subplot

Pandas:为不同的子图设置不同的 ylim 和标题(Pandas: set different ylim and titles for different subplots)

问题 假设我有这个数据框: Type Cat1 Cat2 Cat3 0 A 0.384000 0.393000 0.458000 1 B 0.603337 0.381470 0.299773 2 C 0.585797 0.452570 0.317607 3 D 0.324715 0.765212 0.717755 我这样绘制(从这里): axes = df.set_index('Type').plot.bar(subplots=True, legend=False) plt.subplots_adjust(hspace=0.35) 我的问题:如何为每个子图设置不同的ylim ? 以及如何修改Cat标题的字体大小等内容? 回答1 绘图方法在您的axes变量中返回一个axes数组。 您可以访问每一个并设置标题和 ylim。 axes = df.set_index('Type').plot.bar(subplots=True, legend=False) plt.subplots_adjust(hspace=0.35) axes[0].set_ylim(0, 1.1) axes[0].set_title('hello')

2022-01-14 07:46:38    分类:技术分享    python   pandas   matplotlib   subplot

How can I plot subplots with nested plot arrowed at a specific point?

I saw this chart in a paper and need to reproduce it. How can I plot a figure like this in Python? Note that: I suspect bigger subplots are perhaps drawn using seaborn or using matplotlib's subplot The smaller plots are POINTING at a specific part of the curve in the bigger plots.

2022-01-14 03:43:15    分类:问答    python   matplotlib   seaborn   visualization   subplot

子图:tight_layout 改变图形大小(Subplots: tight_layout changes figure size)

问题 使用tight_layout(h_pad=-1) 更改两个子图之间的垂直距离会更改总图形大小。 如何使用tight_layout 定义图形大小? 这是代码: #define figure pl.figure(figsize=(10, 6.25)) ax1=subplot(211) img=pl.imshow(np.random.random((10,50)), interpolation='none') ax1.set_xticklabels(()) #hides the tickslabels of the first plot subplot(212) x=linspace(0,50) pl.plot(x,x,'k-') xlim( ax1.get_xlim() ) #same x-axis for both plots 这是结果: 如果我写 pl.tight_layout(h_pad=-2) 在最后一行,然后我得到这个: 如您所见,数字更大... 回答1 您可以使用 GridSpec 对象来精确控制宽度和高度比率,如在此线程上回答并在此处记录。 与您的代码尝试,我可能会产生像你想要什么,用height_ratio指派两倍的空间上的插曲,并增加h_pad参数到tight_layout通话。 这听起来并不完全正确,但也许你可以进一步调整...... import numpy

2022-01-13 10:50:20    分类:技术分享    python   subplot

Subplots: tight_layout changes figure size

Changing the vertical distance between two subplot using tight_layout(h_pad=-1) changes the total figuresize. How can I define the figuresize using tight_layout? Here is the code: #define figure pl.figure(figsize=(10, 6.25)) ax1=subplot(211) img=pl.imshow(np.random.random((10,50)), interpolation='none') ax1.set_xticklabels(()) #hides the tickslabels of the first plot subplot(212) x=linspace(0,50) pl.plot(x,x,'k-') xlim( ax1.get_xlim() ) #same x-axis for both plots And here is the results: If I write pl.tight_layout(h_pad=-2) in the last line, then I get this: As you can see, the figure is

2022-01-13 07:33:05    分类:问答    python   subplot