标签: multiple-axes

如何更改多个轴标签的字体大小(使用 host_subplot API 创建)

我在互联网上查看,绝对所有具有多个轴的示例都将 xlabel 和 ylabel 设置为默认值并且非常小

我使用以下代码来创建轴:

from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
Run Code Online (Sandbox Code Playgroud)

...

    ax=[]
    if  twoaxes or threeaxes:
        ax.append(host_subplot(111, axes_class=AA.Axes))
        plt.subplots_adjust(right=0.75)
    else:
        ax.append(fig.add_subplot(111))
    if twoaxes or threeaxes:
        ax.append(ax[0].twinx())
    if threeaxes:
        ax.append(ax[0].twinx())
        offset = 60
        new_fixed_axis = ax[2].get_grid_helper().new_fixed_axis
        ax[2].axis["right"] = new_fixed_axis(loc="right", axes=ax[2],offset=(offset, 0))
        ax[2].axis["right"].toggle(all=True)   
Run Code Online (Sandbox Code Playgroud)

我尝试用 3 种方法更改字体大小,但都失败了

1)

ax[i].set_xlabel(xlabel, fontsize = fontsize)
Run Code Online (Sandbox Code Playgroud)

2)

fontd = {'family' : 'serif',
                 'color'  : 'darkred',
                 'weight' : 'normal',
                 'size'   : fontsize,
        }
        ax[i].yaxis.set_label_text(ylabel, fontdict=fontd)
Run Code Online (Sandbox Code Playgroud)

和 3)

   ax[i].xaxis.get_label().set_fontsize(fontsize)
Run Code Online (Sandbox Code Playgroud)

没有一种方法有效,并且鉴于到目前为止所有示例都显示轴标签的字体非常小,我认为这要么很奇怪,要么不可能。在这个阶段欢迎任何想法。

我忘了提到当轴创建时

  fig.add_subplot(111)
Run Code Online (Sandbox Code Playgroud)

上面提到的所有方法都可以正常工作,并且字体大小已更改。

host matplotlib font-size multiple-axes

3
推荐指数
1
解决办法
2156
查看次数

Adding two y-axis titles on the same axis

I am going to use a dataset and plot that came from a previous problem (Here):

dat <- read.table(text = "   Division Year OperatingIncome
1  A  2012           11460
2  B  2012            7431
3  C  2012           -8121
4  D  2012           15719
5  E  2012             364
6  A  2011           12211
7  B  2011            6290
8  C  2011           -2657
9  D  2011           14657
10 E  2011            1257
11 A  2010           12895
12 B  2010            5381
13 C  2010           -2408
14 D …
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2 multiple-axes

3
推荐指数
1
解决办法
631
查看次数

用两个y轴绘制数据框

我有以下数据框:

   land_cover          1         2         3         4         5         6       size
0          20  19.558872  6.856950  3.882243  1.743048  1.361306  1.026382  16.520265
1          30   9.499454  3.513521  1.849498  0.836386  0.659660  0.442690  8.652517 
2          40  10.173790  3.123167  1.677257  0.860317  0.762718  0.560290  11.925280 
3          50  10.098777  1.564575  1.280729  0.894287  0.884028  0.887448  12.647710
4          60   6.166109  1.588687  0.667839  0.230659  0.143044  0.070628  2.160922 
5         110  17.846565  3.884678  2.202129  1.040551  0.843709  0.673298  30.406541 
Run Code Online (Sandbox Code Playgroud)

我想按以下方式绘制数据:
。land_cover是x轴
。第1-6列应该是每个land_cover类(行)的堆叠条形图
。“大小”列应该是第二个y轴,并且可以是每行的简单点符号,并且可以是连接点的平滑线

任何想法?

python matplotlib dataframe pandas multiple-axes

3
推荐指数
2
解决办法
4591
查看次数

如何在同一 X 轴的同一面板上绘制具有两个不同 y 轴范围的点?

我正在尝试使用 ggplot 创建一个散点图,该散点图共享一个 X 轴,但具有一个具有两个不同比例的 Y 轴。

Y轴的底部有三个刻度,从0%到0.1%,然后是0.1%到1%,最后是10%的规则间隔。

这里的一个例子:

在此处输入图片说明

有没有办法使用 ggplot 在 R 中产生这样的东西?我会修改轴吗?在同一个面板上叠加多个图?或者是其他东西?

r axes ggplot2 multiple-axes

2
推荐指数
1
解决办法
1126
查看次数

Matplotlib:极坐标轴刻度标签位置

如何沿每个轴移动标签以使它们都可读?例如,如何将“$156、$158、$160”移出轴?

这篇文章展示了如果您只有一个轴,如何移动这些标签,但是如果像我这样有多个轴,您会怎么做?在 matplotlib 中的极坐标图上移动径向刻度标签

当前极坐标图

import numpy as np
import pylab as pl
import matplotlib.pyplot as py

class Radar(object):

def __init__(self, fig, titles, labels, rect=None):
    if rect is None:
        rect = [0.05, 0.05, 0.95, 0.95]

    self.n = len(titles)
    self.angles = [a if a <=360. else a - 360. for a in np.arange(90, 90+360, 360.0/self.n)]
    self.axes = [fig.add_axes(rect, projection="polar", label="axes%d" % i) 
                     for i in range(self.n)]

    self.ax = self.axes[0]
    self.ax.set_thetagrids(self.angles, labels=titles, fontsize=12, weight="bold", color="black")

    for ax in self.axes[1:]:
        ax.patch.set_visible(False)
        ax.grid("off")
        ax.xaxis.set_visible(False) …
Run Code Online (Sandbox Code Playgroud)

label matplotlib python-3.x radar-chart multiple-axes

2
推荐指数
1
解决办法
9080
查看次数

用函数生成的图形填充 matplotlib 子图

我找到并改编了以下代码片段,用于生成线性回归的诊断图。这是目前使用以下功能完成的:

def residual_plot(some_values):
    plot_lm_1 = plt.figure(1)    
    plot_lm_1 = sns.residplot()
    plot_lm_1.axes[0].set_title('title')
    plot_lm_1.axes[0].set_xlabel('label')
    plot_lm_1.axes[0].set_ylabel('label')
    plt.show()


def qq_plot(residuals):
    QQ = ProbPlot(residuals)
    plot_lm_2 = QQ.qqplot()    
    plot_lm_2.axes[0].set_title('title')
    plot_lm_2.axes[0].set_xlabel('label')
    plot_lm_2.axes[0].set_ylabel('label')
    plt.show()
Run Code Online (Sandbox Code Playgroud)

用类似的东西调用:

plot1 = residual_plot(value_set1)
plot2 = qq_plot(value_set1)
plot3 = residual_plot(value_set2)
plot4 = qq_plot(value_set2)
Run Code Online (Sandbox Code Playgroud)

如何创建subplots以便将这 4 个图显示在 2x2 网格中?
我试过使用:

fig, axes = plt.subplots(2,2)
    axes[0,0].plot1
    axes[0,1].plot2
    axes[1,0].plot3
    axes[1,1].plot4
    plt.show()
Run Code Online (Sandbox Code Playgroud)

但收到错误:

AttributeError: 'AxesSubplot' object has no attribute 'plot1'
Run Code Online (Sandbox Code Playgroud)

我应该从函数内部还是其他地方设置轴属性?

python matplotlib subplot multiple-axes

2
推荐指数
1
解决办法
998
查看次数

R多个y轴交互图

我试图在R中创建一个类似于此的图: 在此输入图像描述

最多6个变量,它必须是被动的.

我尝试了一下,但是在情节上我会在曲线上得到轴刻度,并且它变得混乱,我设法只得到一个y轴.

在此输入图像描述

有没有办法在剧情或任何其他互动图书馆重建情节?

我的情节代码:

library(dplyr)
library(plotly)
library(tidyr)

data <- cbind(
  seq(from = 1, to = 30, by = 1),
  sample(seq(from = 100, to = 300, by = 10), size = 30, replace = TRUE),
  sample(seq(from = 1, to = 100, by = 9), size = 30, replace = TRUE),
  sample(seq(from = 50, to = 60, by = 2), size = 30, replace = TRUE),
  sample(seq(from = 100, to = 130, by = 1), size = 30, replace = TRUE) …
Run Code Online (Sandbox Code Playgroud)

plot interactive r multiple-axes

1
推荐指数
1
解决办法
646
查看次数

为什么Bokeh在这里不产生额外的y范围?

我的Bokeh版本是0.12.13和Python 3.6.0,我修改了此处的示例代码:

https://docs.bokeh.org/en/latest/docs/user_guide/plotting.html

我刚刚尝试添加一个额外的y范围。

from bokeh.plotting import output_file, figure, show
from bokeh.models import LinearAxis, Range1d

x = [1,2,3,4,5]
y = [1,2,3,4,5]
y2 = [10,9,8,7,6]
y3 = [23,24,25,26,27]

output_file("twin_axis.html")

p = figure(x_range=(0,6), y_range=(0,6))

p.circle(x, y, color="red")

p.extra_y_ranges = {"foo1": Range1d(start=0, end=11)}
p.circle(x, y2, color="blue", y_range_name="foo1")
p.add_layout(LinearAxis(y_range_name="foo1"), 'left')

p.extra_y_ranges = {"foo2": Range1d(start=21, end=31)}
p.circle(x, y3, color="green", y_range_name="foo2")
p.add_layout(LinearAxis(y_range_name="foo2"), 'right')

p.toolbar_location ="above"
show(p)
Run Code Online (Sandbox Code Playgroud)

虽然原始代码运行良好,但我修改后的代码却没有。我无法弄清楚自己在做什么错。我对bokeh有点陌生,所以请向正确的方向引导。编辑:当我添加第三个y轴时没有输出。但是它只能在左侧使用2个轴。

python charts plot multiple-axes bokeh

1
推荐指数
1
解决办法
1126
查看次数

LiveCharts 运行时的多轴

我正在尝试编写一个 WPF 应用程序来为我拥有的一系列数字绘制折线图。这些数字列在一个.CSV文件中,我将在运行时读取该文件。因此,我不知道我将拥有的系列数,也不知道每个系列的最大/最小值。

为了进行演示并简洁起见,请看以下示例。将这些系列值视为我将从.CSV实际应用程序中的文件中读取的值。

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        SeriesCollection = new SeriesCollection
        {
            new LineSeries
            {
                Title = "Series 1",
                Values = new ChartValues<double> { 4, 66, 5, 2, 4 },
            },
            new LineSeries
            {
                Title = "Series 2",
                Values = new ChartValues<double> { 6, 7, 3, 4, 6 },
            },
            new LineSeries
            {
                Title = "Series 3",
                Values = new ChartValues<double> { 4, 2, 7, 2, 7 }, …
Run Code Online (Sandbox Code Playgroud)

c# wpf multiple-axes livecharts

0
推荐指数
1
解决办法
6425
查看次数