使用ggplot更改x轴刻度标签

Ele*_*res 7 python ggplot2

我正在使用ggplot绘制直方图,其中x变量是一个分类变量,我想更改x轴刻度标签.这是我的代码:

from pandas import *
from ggplot import *

df = pandas.read_csv('C:\Users\...csv')

def plot_data(df):

    plot = ggplot(data_by_group, aes('x', 'y')) +
           geom_histogram(stat='bar') + ggtitle('title') + 
           xlab('x-label') + ylab('y-label')  
    #x_ticklabels = ['a', 'b', 'c']    
    return plot
Run Code Online (Sandbox Code Playgroud)

我想在x轴上使用x_ticklabels而不是分类变量中的数字.

关于如何做到这一点的任何想法?

谢谢

Mel*_*MCR 4

这里有一个很好的例子(在“设置刻度线标签”下)展示了如何执行此操作。简而言之,给定 ggplot“bp”,您可以通过为数据中的每个类别设置标签来控制实际刻度标签,如下所示:

bp + scale_x_discrete(breaks=c("ctrl", "trt1", "trt2"),
                  labels=c("Control", "Treat 1", "Treat 2"))
Run Code Online (Sandbox Code Playgroud)

所以就你而言,我想你会做一些类似的事情

plot = ggplot(data_by_group, aes('x', 'y')) +
       geom_histogram(stat='bar') + ggtitle('title') + 
       xlab('x-label') + ylab('y-label') +
       scale_x_discrete(breaks=c(1, 2, 3),
                  labels=c("a", "b", "c"))
Run Code Online (Sandbox Code Playgroud)

  • 问题是针对 Python ggplot,而不是 R ggplot (2认同)
  • 您确实意识到这是一个 python ggplot 问题,而不是 R。您的代码不起作用。即使您使用标准的 python 语法(即,将 c() 向量符号删除为列表符号),它仍然不起作用,所以问题仍然存在。 (2认同)