【问题标题】:How to change color of shaded area in highcharts如何更改highcharts中阴影区域的颜色
【发布时间】:2021-06-11 06:06:04
【问题描述】:

我想要在 highcharts 中的时间序列图表的线和区域的颜色相同。我附上jsfiddle的链接 这里图表的阴影区域和线条颜色是蓝色的,但我想要这个十六进制代码#70843A。谁能帮我? https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/line-time-series

Highcharts.getJSON(
  "https://cdn.jsdelivr.net/gh/highcharts/highcharts@v7.0.0/samples/data/usdeur.json",
  function (data) {
    Highcharts.chart("container", {
      chart: {
        zoomType: "x",
      },
      title: {
        text: "USD to EUR exchange rate over time",
      },
      subtitle: {
        text:
          document.ontouchstart === undefined
            ? "Click and drag in the plot area to zoom in"
            : "Pinch the chart to zoom in",
      },
      xAxis: {
        type: "datetime",
      },
      yAxis: {
        title: {
          text: "Exchange rate",
        },
      },
      legend: {
        enabled: false,
      },
      plotOptions: {
        area: {
          fillColor: {
            linearGradient: {
              x1: 0,
              y1: 0,
              x2: 0,
              y2: 1,
            },
            stops: [
              [0, Highcharts.getOptions().colors[0]],
              [
                1,
                Highcharts.color(Highcharts.getOptions().colors[0])
                  .setOpacity(0)
                  .get("rgba"),
              ],
            ],
          },
          marker: {
            radius: 2,
          },
          lineWidth: 1,
          states: {
            hover: {
              lineWidth: 1,
            },
          },
          threshold: null,
        },
      },

      series: [
        {
          type: "area",
          name: "USD to EUR",
          data: data,
        },
      ],
    });
  }
);
.highcharts-figure,
.highcharts-data-table table {
  min-width: 360px;
  max-width: 800px;
  margin: 1em auto;
}

.highcharts-data-table table {
  font-family: Verdana, sans-serif;
  border-collapse: collapse;
  border: 1px solid #ebebeb;
  margin: 10px auto;
  text-align: center;
  width: 100%;
  max-width: 500px;
}
.highcharts-data-table caption {
  padding: 1em 0;
  font-size: 1.2em;
  color: #555;
}
.highcharts-data-table th {
  font-weight: 600;
  padding: 0.5em;
}
.highcharts-data-table td,
.highcharts-data-table th,
.highcharts-data-table caption {
  padding: 0.5em;
}
.highcharts-data-table thead tr,
.highcharts-data-table tr:nth-child(even) {
  background: #f8f8f8;
}
.highcharts-data-table tr:hover {
  background: #f1f7ff;
}
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/data.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
<script src="https://code.highcharts.com/modules/accessibility.js"></script>

<figure class="highcharts-figure">
  <div id="container"></div>
  <p class="highcharts-description">
    Highcharts has extensive support for time series, and will adapt
    intelligently to the input data. Click and drag in the chart to zoom in and
    inspect the data.
  </p>
</figure>

【问题讨论】:

  • 嗨@NIHAL KUMAR,你能解释一下你想要达到的目标吗?这里:jsfiddle.net/BlackLabel/theu0z5x 是一个反色示例,使用了#70843A
  • 我希望您可以在此图表中看到一条线和一个区域,所以我想要使用 #70843A 颜色的线,并且该区域也将在这个十六进制代码主题中,但必须像这个一样从浅到深jsfiddle blue 正在发生
  • 你的意思是这样的:jsfiddle.net/BlackLabel/94hjp7mt?要更改线条颜色,请使用系列的color 属性。

标签: javascript angularjs highcharts


【解决方案1】:

如果我理解正确的问题,你不想要那个渐变。

Highcharts 提供了它,特别是在您的工作示例中

plotOptions: {
        area: {
          fillColor: {
            linearGradient: {
              x1: 0,
              y1: 0,
              x2: 0,
              y2: 1,
            },
            stops: [
              [0, Highcharts.getOptions().colors[0]],
              [
                1,
                Highcharts.color(Highcharts.getOptions().colors[0])
                  .setOpacity(0)
                  .get("rgba"),
              ],
            ],
          }

这可以通过 setOpacity 进行更新。

[1, Highcharts.color(Highcharts.getOptions().colors[0]).setOpacity(1).get('rgba')]

正如它所说,您只需将不透明度设置为 1。全块颜色。

如果你只是想改变颜色本身,你可以将填充颜色设置为 CSS 颜色..

fillColor: '#FF0000',

Ugly Red JSfiddle

文档在这里:Highcharts Documentation

如果您希望将线条颜色等设置为您使用的 HEX。

您可以在标记中设置lineColor ..

Green LineColour

文档的布局非常好。

【讨论】:

  • 实际上它为图表的每条线和区域显示纯色,但您可以在我给定的链接中看到区域颜色将在底部亮起我希望该类型和线条颜色应该是粗体所以它可以清楚地显示图表线请帮助
  • 所以阅读文档,甚至保留自己的代码,然后更新颜色。我不是为你做所有事情:) 不过我会给你一个提示,保留你拥有的linearGradient
猜你喜欢
  • 2018-10-31
  • 2019-06-30
  • 2018-12-02
  • 1970-01-01
  • 2019-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多