2015-03-23 22 views
5

Gần đây tôi đã sử dụng OxyPlot và đã tự hỏi liệu có cách ghi đè Bảng màu mặc định của PlotSeries/PlotModel không?Ghi đè bảng màu mặc định của OxyPlot

Tôi biết tôi có thể đặt màu riêng lẻ cho mỗi chuỗi, nhưng sẽ rất tuyệt khi có một mảng màu và sau đó áp dụng màu đó cho mô hình/chuỗi.

Trả lời

7

Bạn có thể thay đổi danh sách DefaultColors trong PlotView 's Model:

plotView.Model.DefaultColors = new List<OxyColor> 
     { 
      OxyColors.Red, 
      OxyColors.Green, 
      OxyColors.Blue, 
      OxyColor.FromRgb(0x20, 0x4A, 0x87) 
     }; 

Để làm cho nó thậm chí còn dễ dàng hơn, OxyPalettes' phương pháp lớp s có thể được sử dụng:

plotView.Model.DefaultColors = OxyPalettes.Jet(plotView.Model.Series.Count).Colors; 
2

Thêm vào khác câu trả lời, nếu bạn muốn sử dụng cùng một tập hợp các màu cho mỗi cốt truyện trong ứng dụng của bạn, bạn có thể đặt chúng trong tài nguyên xaml của bạn. Ví dụ: nếu bạn muốn sử dụng mặc định Seaborn palette, bạn có thể thêm thông tin sau vào App.xaml:

<Application.Resources> 
    <ResourceDictionary> 
     <x:Array Type="Color" x:Key="SeabornColors"> 
      <Color>#4c72b0</Color> 
      <Color>#55a868</Color> 
      <Color>#c44e52</Color> 
      <Color>#8172b2</Color> 
      <Color>#ccb974</Color> 
      <Color>#64b5cd</Color> 
     </x:Array> 
     <Style TargetType="oxy:Plot"> 
      <Setter Property="DefaultColors" Value="{StaticResource SeabornColors}"/> 
     </Style> 
    </ResourceDictionary> 
</Application.Resources> 
của mình
Các vấn đề liên quan