我使用Chart.js来显示雷达图.我的问题是有些标签很长:图表无法显示或显得非常小.
那么,有没有办法打破线条或为标签分配最大宽度?
谢谢您的帮助!
我正在使用MS asp.net图表控件.我正在使用雷达图来绘制一些值,但由于某种原因,X轴的线条在中间并不真正相遇.
我设置了LineWidth = 1
,但线仍然需要2像素,一些标记完全关闭,或者可能是完全关闭的线.也许我的文字有点偏,所以请看图片,希望你能理解我的问题.=)
生成图表的代码:
// Populate series data
Chart chart1 = new Chart();
chart1.ChartAreas.Add(new ChartArea("ChartArea1"));
chart1.Height = new Unit(380);
chart1.Width = new Unit(880);
//chart1.AntiAliasing = AntiAliasingStyles.Graphics;
//chart1.BackColor = Color.Transparent;
chart1.Customize += new EventHandler(Chart_Customize);
// Show as 3D
chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = false;
chart1.ChartAreas["ChartArea1"].AxisY.IntervalAutoMode
= IntervalAutoMode.FixedCount;
chart1.ChartAreas["ChartArea1"].AxisY.Interval = 10;
chart1.ChartAreas["ChartArea1"].AxisY.Maximum = 100;
chart1.ChartAreas["ChartArea1"].AxisY.IsReversed = true;
chart1.ChartAreas[0].AxisY.LineWidth = 1;
chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.Gray;
chart1.ChartAreas[0].AxisY.LineColor = Color.Gray;
chart1.ChartAreas[0].AxisY.MajorTickMark.Enabled = false;
List<string> names = new List<string>();
int namecounter = 1;
foreach (var p …
Run Code Online (Sandbox Code Playgroud) 考虑以下几行数据:
data = [{angle:1.2,value:1.2},...,{angle:355.2: value:5.6}];
Run Code Online (Sandbox Code Playgroud)
我想在径向比例图(即表示每个点的值有多高的圆形带)上显示这些数据,以显示角度与值.对于每个数据集,角度将以小但不可控制的量改变,但是它们中总是有约50个在图表周围相当均匀地间隔开.
看起来chart.js
有两个选项不太合适:
有没有办法结合我错过的两个或许一些选项来控制它们以达到我在这里寻找的结果?
编辑 - 例如,这显示数据但缺少径向比例:
https://jsfiddle.net/7d7ghaxx/4/
**Edit2 - 这是我希望看到的结果:
我正在使用ggplot2绘制图形,我有facet_wrap
制作多个图形(~51)的功能,但它们都出现在一个页面上.现在搜索后,我发现ggplot2无法在多个页面上放置图形.
有没有办法做到这一点?我看了这个问题(使用ggplot在多个页面上多个图表)并尝试了代码,但收效甚微.
这是我的图形代码,它在一个页面上生成约51个图形,使它们非常小而且难以看到,如果我可以在pdf中将每页打印到1个图形,那将是很好的:
ggplot(indbill, aes(x = prey, y = weight), tab) +
geom_polygon(aes(group = load, color = capture), fill = NA, size = 0.75) +
facet_wrap(~ individual) +
theme(axis.ticks.x = element_blank(),
axis.text.x = element_text(size=rel(0.5)),
axis.ticks.y = element_blank(),
axis.text.y = element_blank()) +
xlab("") + ylab("") +
guides(color = guide_legend(ncol=2)) +
coord_radar()
Run Code Online (Sandbox Code Playgroud)
如果有人可以写一些代码并向我解释,那就太好了!
谢谢!
我试图制作一个极地'sypder'图,但我对轴标签有一些问题.xaxis tick标签似乎总是出现在y轴网格下面的一个层上(字母被网格线覆盖,如下图所示),我希望它们位于顶部.
我尝试设置zorders但没有成功.如果我将绘制线的zorder设置为2以上,它们会在轴和网格的顶部(就层而言)...但我仍然希望标签在图的顶部可见.如果我将它们设置在2以下,则线条会在网格下方.设置网格或刻度标签的zorder似乎没有效果.
这是我的尝试:你可以看到网格的红线最终在文本"行业"的顶部,而网格的灰线保持在下面.我希望'行业'能够在线上和线上都处于领先地位
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import random
data = random.sample(range(100), 5)
data[0] = 100
data[3] = 50
index = ['industry', 'residential', 'agriculture', 'transport', 'other']
df1 = pd.DataFrame(data, index=index, columns=['data'])
df2 = pd.DataFrame(np.array(data)/2, index=index, columns=['data'])
fig = plt.figure()
ax = fig.add_subplot(111, projection="polar")
ax.grid(True)
ax.yaxis.grid(color='r')
ax.xaxis.grid(color='#dddddd')
for spine in ax.spines.values():
spine.set_edgecolor('None')
theta = np.arange(len(df1))/float(len(df1))*2.*np.pi
l1, = ax.plot(theta, df1["data"], color="gold", marker="o", label=None, zorder=1) # , zorder = -3)
l2, = ax.plot(theta, df2["data"], …
Run Code Online (Sandbox Code Playgroud) 我想在我的MapView上集成气象雷达.请任何人帮忙完成这项任务.我做了很多谷歌搜索但没有成功.请检查这个图像,我想这样做.
我只是在学习chart.js是如何工作的,所以我直接在chart.js API页面上使用了示例代码,但它似乎不起作用.我将以下代码放在脚本标记中,我得到一个"无法读取属性'标签'未定义"错误.不确定这个错误意味着什么
$(function () {
var ctx = $('#myCanv').get(0).getContext("2d");
var myRadarChart = new Chart(ctx).Radar(data, options);
var data = {
labels: ["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"],
datasets: [
{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [65, 59, 90, 81, 56, 55, 40]
},
{
label: "My Second dataset",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: [28, 48, 40, 19, 96, 27, 100] …
Run Code Online (Sandbox Code Playgroud) 我最近一直在研究雷达图,并从Erwan Le Pennec找到了大量代码。我进行了一些编辑,但是有一些部分我无法弄清楚如何删除最外面的圆圈,因为它没有定义值。目前,代码正在绘制主要的网格线。我试图欺骗它删除两个轴并且只绘制较小的增量,但是任何一个都有效。
干杯!
这是我的代码:
coord_radar <- function (theta = "x", start = 0, direction = 1)
{
theta <- match.arg(theta, c("x", "y"))
r <- if (theta == "x")
"y"
else "x"
ggproto("CordRadar", CoordPolar, theta = theta, r = r, start = start,
direction = sign(direction),
is_linear = function(coord) TRUE)
}
RadarTheme<-theme(panel.background=element_blank(),
plot.title= element_text(size = 25,face=c("bold","italic")),
plot.margin = unit(c(2, 2, 2, 2), "cm"),
text=element_text(family="Open Sans"), aspect.ratio = 1,
legend.position="bottom",legend.title=element_blank(),legend.direction="vertical",
strip.text.x = element_text(size = rel(0.8)),
axis.text.x = element_text(size = …
Run Code Online (Sandbox Code Playgroud) radar-chart ×10
chart.js ×4
ggplot2 ×3
r ×3
charts ×2
javascript ×2
jquery ×2
asp.net ×1
axis ×1
c# ×1
css ×1
ggproto ×1
gridextra ×1
ios ×1
ipad ×1
labels ×1
matplotlib ×1
mkmapview ×1
pie-chart ×1
plot ×1
python-3.x ×1
weather-api ×1