这个问题是我提出的上一个问题的延续.
现在我有一个案例,其中还有一个带有Prop的类别列.因此,数据集变得像
Hour Category Prop2
00 A 25
00 B 59
00 A 55
00 C 5
00 B 50
...
01 C 56
01 B 45
01 A 56
01 B 35
...
23 D 58
23 A 52
23 B 50
23 B 35
23 B 15
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我需要在R中制作堆积区域图,每天的这些不同类别的百分比.所以,结果就像.
A B C D
00 20% 30% 35% 15%
01 25% 10% 40% 25%
02 20% 40% 10% 30%
.
.
.
20
21
22 25% 10% 30% …Run Code Online (Sandbox Code Playgroud) 我想填写直到PlotlyJS中的特定Y值.这是我从PlotlyJS文档得到的:小提琴
{
"x": [
"2016-01-31T00:03:57.000Z",
"2016-02-12T04:35:26.000Z"
],
"y": [
100,
100
],
"fill": "tonexty",
"fillcolor": "#8adcb3"
}
Run Code Online (Sandbox Code Playgroud)
在文档中,似乎有两种选择:
tonexty - 填写如下.问题是'tonexty'有点限制 - 用例是'填充直到',所以阴影只能在110以上.示例:tozeroy - 填写至零:此外,您是否需要引入新的跟踪以创建填充?
这意味着如果我有一个如下图表(只有一条迹线但是一条阈值线作为一个形状):我需要引入另一条线来创建一个填充.也许我在文档中遗漏了一些东西,或者这完全是错误的方法.

那么,如何填充PlotlyJS中特定Y值以上的迹线区域?
我想知道如何在matplotlib中创建100%堆积面积图.在matplotlib页面,我找不到它的例子.
有人在这里可以告诉我如何实现这一目标吗?
这是我的数据的链接.
我使用以下代码:
#read in data
data = read.csv("ggplot_data.csv")
#order by group then year
data = arrange(data, group, year)
#generage ggplot stacked area chart
plot = ggplot(data, aes(x=year,y=value, fill=group)) +
geom_area()
plot
Run Code Online (Sandbox Code Playgroud)
如您所见,此图表的三个不同部分有奇数洞.
我以前遇到过这个问题并询问过这个问题,然后提供的答案是我需要按组对数据进行排序,然后是年份.当时,那个答案修好了我的洞.但是,这次似乎没有消除所有漏洞.有帮助吗?
我用ggplot2创建了一个堆积区域图,并在其上的某些位置添加了垂直线x-axis.
我现在想要命名由这些垂直线分隔的部分.它的示例可能看起来像示例图中显示的那样.其他解决方案也欢迎.我有一个矢量breaks (x-axis)和一个间隔名称的矢量.
码:
library(ggplot2)
d <- read.delim(...)
x_breaks = c(-3999,1,599,4076,7557,11556)
png(output, width=800, height=400)
ggplot(d, aes(x=p, y=c, group=Groups, fill=Groups)) +
geom_area(position="stack") +
opts(title="testtestest",
...) +
scale_x_continuous(expand=c(0,0), breaks=x_breaks) +
scale_y_continuous(expand=c(0,0)) +
geom_vline(xintercept=x_breaks[which(x_breaks != min(x_breaks) & x_breaks != max(x_breaks))])
dev.off()
Run Code Online (Sandbox Code Playgroud)

我用D3.js 创建面积图,然后用流畅的线条创建.可能吗?
在我的代码中,我只是创建svg并放置行和区域.我使用虚拟数据.
以下是我的代码:http: //jsfiddle.net/sota0805/mv48H/
// Data
var lineData = [ { "x": 0, "y": 250}, { "x": 40, "y": 170},
{ "x": 80, "y": 140}, { "x": 120, "y": 220},
{ "x": 160, "y": 220}, { "x": 200, "y": 190},
{ "x": 240, "y": 170}, { "x": 280, "y": 140},
{ "x": 320, "y": 200}, { "x": 360, "y": 180},
{ "x": 400, "y": 190}, { "x": 440, "y": 210},
{ "x": 480, …Run Code Online (Sandbox Code Playgroud) 我需要在所有图表上添加标签.但标签与图表的密度重叠.我附上了一个样本.
我需要将它们分开.怎么样?
我没有修改lib的CSS.使用上一个版本.
这是一个示例代码,可以粘贴在http://js.devexpress.com/Demos/VizGallery/#chart/chartsareaseriesarea上:
var labelPercent = {
visible: true,
format: 'percent',
precision: 1,
};
var dataSource = [
{
"Aeropuertos": 0.003,
"AguaFacilidades": 0.016,
"CallesPuentes": 0.183,
"ConstruccionResidencialNO": 0.542,
"PetroleoGas": 0.071,
"PlantasEnergia": 0.11,
"PuertosFluviales": 0.052,
"ViasFerreas": 0.023,
"Year": "2011"
},
{
"Aeropuertos": 0.01,
"AguaFacilidades": 0.019,
"CallesPuentes": 0.19,
"ConstruccionResidencialNO": 0.542,
"PetroleoGas": 0.079,
"PlantasEnergia": 0.09,
"PuertosFluviales": 0.029,
"ViasFerreas": 0.04,
"Year": "2012"
},
{
"Aeropuertos": 0.01,
"AguaFacilidades": 0.019,
"CallesPuentes": 0.191,
"ConstruccionResidencialNO": 0.541,
"PetroleoGas": 0.082,
"PlantasEnergia": 0.088,
"PuertosFluviales": 0.029,
"ViasFerreas": 0.04,
"Year": "2013" …Run Code Online (Sandbox Code Playgroud) 我想在matplotlib stackplot的区域内生成标签。我会为标记用于限制区域的线而满意。考虑示例:
import numpy as np
from matplotlib import pyplot as plt
fnx = lambda : np.random.randint(5, 50, 10)
x = np.arange(10)
y1, y2, y3 = fnx(), fnx(), fnx()
areaLabels=['area1','area2','area3']
fig, ax = plt.subplots()
ax.stackplot(x, y1, y2, y3)
plt.show()
Run Code Online (Sandbox Code Playgroud)
但是我想产生这样的东西:
matplotlib等高线图具有这种标记功能(尽管在等高线图中标记线)。
任何帮助(甚至重定向到我可能错过的帖子)都将受到赞赏。
我很好奇你是否有一些关于 R 中颜色酿造的技巧,对于许多独特的颜色,以某种方式使图表仍然好看。
我需要大量独特的颜色(至少 24 种,可能需要更多,~50 种)用于堆叠区域图(所以不是热图,渐变色不起作用)。我遇到了 viridis,它有非常漂亮的调色板,也适用于色盲人士。不幸的是,那些没有足够的颜色在我的图上仍然可以区分。
在谷歌上花了一些时间后,我也研究了其他包/调色板(这篇文章特别酷:如何在 R 中生成一些最独特的颜色?),但没有找到任何颜色足够并且看起来仍然不错的东西。
当需要 24 种以上的颜色时,如何使图形好看?
我正在使用 ggplot2 创建一个堆积面积图,显示一段时间内许多不同研究站的足迹(面积)。我想要如下图所示的东西,但 y 轴上有面积,并由不同的研究站着色:

(来源:r-graph-gallery.com)
我已经尝试过类似帖子的元素,但无法使其发挥作用。
R 中的 ggplot 出现问题 - “f(...) 中的错误:美学不能随功能区而变化”
https://www.r-graph-gallery.com/136-stacked-area-chart/
我在此处提供了数据的 .csv 子集。
下面是我正在使用的代码。
fp <- read.csv("fp.csv")
fp$Year <- as.numeric(rep(fp$Year)) #change Year to numeric
p2 <- fp %>%
filter(Exist == 1) %>% # Select only existing structures
group_by(Year, Station) %>%
summarise(Sum_Area = sum(Area)) %>%
arrange(desc(Year)) %>%
ggplot(aes(x = Year, y = Sum_Area, fill = Sum_Area)) +
geom_area(stat = "identity", position = "stack")
p2
Run Code Online (Sandbox Code Playgroud)
我总是收到错误消息:f(...) 中的错误:美学不能随丝带而变化
ggplot2 ×5
r ×5
javascript ×3
charts ×2
matplotlib ×2
plot ×2
python ×2
colors ×1
css ×1
d3.js ×1
devexpress ×1
plotly ×1
reshape ×1