我正在尝试使用 matplotlib 在另一个图上绘制水平线。除了标题和轴标签从不显示之外,一切正常。这是如何运作的?
*编辑-抱歉,代码看起来有点像这样: from matplotlib import pyplot as plt n=100
plt.axhline(y=n, label='Old')
plt.plot([5, 6, 7, 8], [100, 110, 115, 150], 'ro', label='New')
plt.xlabel=('Example x')
plt.ylabel=('Example y')
plt.title=('Example Title')
plt.legend()
plt.axis([0,10,50,150])
plt.show()
Run Code Online (Sandbox Code Playgroud)
一切正常显示,只是没有标题和轴标签。传说就在那里。
#RGR ~ Treatment:Geno boxplot
fit <- aov(Total.RGR~Treatment:Geno, data=For.R)
summary(fit)
t <- TukeyHSD(fit)
t
boxplot(Total.RGR~Treatment:Geno,
data=For.R,las=2,ylim=c(-20,100),xlab="Treatment:Geno",ylab="RGR (mg/day)")
text(1:8, 95 ,c("a","ac","a","a","a","bd","bcd","ad"))
Run Code Online (Sandbox Code Playgroud)
是我的代码,它完成了工作,但是当我旋转 x 轴标签时,它会阻碍 x 轴标题。有谁知道有什么办法可以把标题下移吗?
这一定很容易,但我在参考文献中找不到任何内容。
谢谢。马蒂亚斯
我有一个 .Net Core 应用程序,我在其中绘制了一个图表,显示了一天中某些测量值的值。
我的“时间”对象是 Unix 时间,以毫秒为单位(例如 1502258405000)。我已设法手动将其转换为时间对象,如下所示:
var datetimes = $.map(data, function (value, index) {
var datetime = new Date(value.timestamp);
var iso = datetime.toISOString().match(/(\d{4}\-\d{2}\-\d{2})T(\d{2}:\d{2}:\d{2})/);
return iso[2]; //Returns HH:MM:SS
});
Run Code Online (Sandbox Code Playgroud)
但是,通过这种转换,我的 chart.js 图表不会将时间对象理解为时间,这意味着(如果测量值存在差距)它不会显示(并且存在),因为它只会将测量值放在下一个并将它们作为字符串处理。
我对显示日期不感兴趣,因为数据总是会在已知日期内收集。我将上述实现更改为:
var datetimes = $.map(gpsData, function (value, index) {
return new Date(value.timestamp);
});
Run Code Online (Sandbox Code Playgroud)
但是,当我在我的 chart.js 折线图上绘制它时,它会使我的图表显示不需要的 AM/PM 值,如上所示。我想要一个 24 小时制的时钟。我使用了xAxis如下图所示的 chart.js 时间值来绘制上图所示的值:
options: {
scales: {
xAxes: [{
type: 'time',
time: {
format: "HH:MM:SS",
min: minTime, //calculated above in my implementation
max: maxTime //same as …Run Code Online (Sandbox Code Playgroud) 我正在尝试添加一个图例,并在绘图上绘制函数,例如:
description = legend({"y(x) = \sqrt{\frac{100(1-0.10x^2)^2+0.02x^2}{(1-x^2)^2+0.1x^2}}"});
legend(description ,"location", "northoutside");
Run Code Online (Sandbox Code Playgroud)
然而,我得到的结果是:
包含 LaTeX 数学模式符号的正确语法是什么?
Windows 10 上的 Octave-4.2.1
这篇文章描述了一种在时间序列图上创建两线 x 轴(年份低于月份)的方法。不幸的是,我在这篇文章中使用的方法(选项 2)与ggsave().
library(tidyverse)
library(lubridate)
df <- tibble(
date = as.Date(41000:42000, origin = "1899-12-30"),
value = c(rnorm(500, 5), rnorm(501, 10))
)
p <- ggplot(df, aes(date, value)) +
geom_line() +
geom_vline(
xintercept = as.numeric(df$date[yday(df$date) == 1]), color = "grey60"
) +
scale_x_date(date_labels = "%b", date_breaks = "month", expand = c(0, 0)) +
theme_bw() +
theme(panel.grid.minor.x = element_blank()) +
labs(x = "")
# Get the grob
g <- ggplotGrob(p)
# Get the y axis
index …Run Code Online (Sandbox Code Playgroud) 我绘制了一个带有两个 y 轴的图表。然而,根据我的口味,轴的标题有点太接近了。我已经设法拉开主轴标题的距离,但不知道如何对次轴进行同样的操作。这是我使用过的代码:
ggplot(data1, aes(x=year))+
geom_line(aes(y= data1$`export share`, colour= "export share"), size = 2)+
geom_line(aes(y=data1$pm25/coeff, colour= "pm25"), size = 2)+
scale_x_continuous(breaks = scales::pretty_breaks(n = 17), name = "Year")+
scale_y_continuous(name="Export Share of GDP", labels = scales::percent, sec.axis=sec_axis(trans = ~.*coeff, name = "PM2.5"))+
theme(axis.title.y = element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)), axis.text.x = element_text(vjust = 5) ,legend.title = element_blank(), legend.box.margin = margin(0,0,0,10), text = element_text(size = 30)) +
scale_colour_discrete("",
breaks=c("export share", "pm25"),
labels=c("Export Share …Run Code Online (Sandbox Code Playgroud) 一直在尝试修改我的情节,以便可以包装 xlabel。
看过类似问题的一些建议。
但我无法在这方面使用它们。
ax.set_xticklabels 代码不会包装标签。
plt.xticks 代码抛出错误 -
AttributeError: 'Text' object has no attribute 'expandtabs'
plt.figure(figsize = (7,5))
ax = sns.countplot(data = df3, x = df3.PaymentMethod, hue = df3.Churn)
#ax.set_xticklabels(ax.get_xticklabels(), ha="right", horizontalalignment = 'center', wrap = True)
plt.xticks([textwrap.fill(label, 10) for label in ax.get_xticklabels()],
rotation = 10, fontsize=8, horizontalalignment="center")
Run Code Online (Sandbox Code Playgroud)
right_labels = False我试图使用但仅适用于某些值来隐藏此 Cartopy 地图中的右侧标签(又名纬度) 。top_labels = False但是,可以使用和隐藏顶部/底部标签bottom_label=False。
重现:
import numpy as np
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import matplotlib.ticker as mticker
import matplotlib.path as mpath
import cartopy.feature as cf
"""
Plot Alaska
"""
# Map View Using Cartopy
fig = plt.figure(figsize=(8,6))
xmin=-163
xmax=-120
ymin=50
ymax=71
proj = ccrs.LambertConformal(central_longitude=(xmin+xmax)/2, central_latitude=(ymin+ymax)/2)
ax = fig.add_subplot(1, 1, 1, projection=proj)
n = 20
aoi = mpath.Path(
list(zip(np.linspace(xmin, xmax, n), np.full(n, ymax))) + \
list(zip(np.full(n, xmax), np.linspace(ymax, …Run Code Online (Sandbox Code Playgroud) 我正在同一个png文件中绘制2个图形(其中一个是条形图).
我的情节有2 y轴.我的问题是第二个y轴(右边)的标签没有显示在我的图像中.

我以为是因为我的图像尺寸.所以我将默认值480更改为600,它给了我这个

我使用轴(4)将第二个y轴放在右边.奇怪的是,当我做轴(1)时,我的两个y轴标签都显示在左边.
谁能告诉我这个问题来自哪里?
ggplot标签通常由augument xlab/ylab添加,例如
ggplot(mtcars,aes(mpg, wt)) + geom_point()+ xlab('x_label')+ ylab('y_label')
Run Code Online (Sandbox Code Playgroud)
有预定义标签并调用它们的快捷方式吗?例如:mylabels是预定义的.这将使某些标签的重复使用更有效.
mylabels <- xlab('x_label')+ylab('y_label')
ggplot(mtcars,aes(mpg, wt)) + geom_point() + mylabels
Run Code Online (Sandbox Code Playgroud) axis-labels ×10
r ×5
ggplot2 ×3
matplotlib ×3
plot ×3
python ×2
cartopy ×1
chart.js ×1
datetime ×1
facet-grid ×1
figure ×1
gtable ×1
javascript ×1
legend ×1
octave ×1
python-3.x ×1
seaborn ×1
statistics ×1
time ×1
title ×1
yaxis ×1