using Newtonsoft.Json;
namespace MatplotlibCS.PlotItems
{
///
/// Базовый класс для элементов, которые отрисовываются на графике
///
public abstract class PlotItem : IHealthCheck
{
#region Properties
///
/// Name of the type of the plot item (line, histogram, text etc
///
[JsonProperty(PropertyName = "type")]
public string Type => GetType().Name;
///
/// Unique (within axes) name of a plot item
///
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
///
/// Optional fields which can be used to filter plot items. For example, one can precreate all plot items and then save several images with
/// different visible items, be setting IsVisible property
///
public string Tags { get; set; } = "";
///
/// If false, item will not be drawn
///
[JsonProperty(PropertyName = "is_visible")]
public bool IsVisible { get; set; } = true;
///
/// Whether to show this item in legend
///
[JsonProperty(PropertyName = "show_legend")]
public bool ShowLegend { get; set; } = true;
#endregion
#region .ctor
///
/// .ctor
///
/// Unique name of a plot item
protected PlotItem(string name)
{
Name = name;
}
#endregion
public virtual void HealthCheck()
{
}
}
}